//数据库
const db = require('../db/index')
//密码
const bcryptjs = require('bcryptjs')
//jwt
const jwt = require('jsonwebtoken')
//config
const config = require('../config')


const { getSlideItems } = require("./layout_handle")

const login = async (req, res) => {
    console.log(req.body);
    let sql = 'select * from sp_manager where mg_del=0 and mg_name=?'
    db.query(sql, req.body.username, (err, result) => {
        if (err) return res.sendErr(err)
        if (result.length === 0) return res.sendErr('账号不存在!')
        //如果状态的打开的也就是可以登录的才可以登录
        if (result[0].mg_state !== 1)
            return res.sendErr('该账号登录权限未开启!', 400)
        //对密码
        if (!bcryptjs.compareSync(req.body.password, result[0].mg_pwd)) {
            return res.sendErr('密码错误!')
        }
        //成功生产token (扩展出数据库插到的全部信息 然后password和头像覆盖为'' token不能包含密码)
        const userInfo = { ...result[0], mg_pwd: '' }
        const token = jwt.sign(
            userInfo,//用户的信息对象
            config.secretKey, //密钥
            { expiresIn: config.expiresIn } //token有效期
        )
        res.cookie(
            "Authorization", 'Bearer ' + token, { maxAge: 1000 * 60 * 60 * 12, secure: false }
        )
        res.send({
            status: 200,
            message: '登录成功!',
            // Authorization: 'Bearer ' + token,
        })
    })
}

module.exports = {
    login,
}